import Vue from 'vue'
import Vuex from 'vuex'
import {
  HOST,
  imgHOST
} from '@/http/host.js'

// 动态引入store模块
const context = require.context('@/stores', true, /\/[\w]+\.(module).(js|ts)$/)
const modules = context.keys().reduce((modules, modulePath) => {
  // set './app.js' => 'app'
  const moduleName = modulePath.replace(/(modules\/)|(\.module.js)/g, '').replace('./', '') + '_module'
  const value = context(modulePath)
  modules[moduleName] = value.default
  return modules
}, {})

Vue.use(Vuex)

export default new Vuex.Store({ // vuex状态管理
  state: { //根状态机
    HOST: HOST, //资源服务器
    imgHOST: imgHOST, //图片资源地址

    // 微信公众号信息
    wxinfo: {
      appId: 'wxdf5907fxxxxxxxxx'
    }
  },
  modules: modules //状态机模块
})